package com.ckr.mapper;

import com.ckr.pojo.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * @author Shadowckr
 * @create 2021-09-25 0:26
 */
public interface UserMapper {

    // 查询全部用户（使用注解）
    // 注解 Annotation
    @Select("select * from user")
    List<User> getAllUser();

    // 根据id查询用户
    @Select("select * from user where id = #{uid}")
    User getUserById(@Param("uid") int id);

    // 增加一个用户
    @Insert("insert into user (id,name,password) values (#{id},#{name},#{password})")
    int addUser(User user);

    // 修改用户信息
    @Update("update user set name=#{name},password=#{password} where id=#{id}")
    int updateUser(User user);

    // 删除一个用户
    @Delete("delete from user where id = #{id}")
    int deleteUser(@Param("id") int id);

    /*
    1.增删改一定注意对事务的处理。
    2.关于@Param注解用于给方法参数起一个名字的注意事项。
    3.#{}和${}的区别。
     */
}
